Synchronization methods for synchronization of data or data objects are known from prior art. In the field of appointment management, it is, for example, known to synchronize appointments, which are created and managed on a first client means, for example, a personal computer, with appointments, which are created and managed on a second client means, for example, a tablet PC or smart phone, wherein the appointments in both client means are created or managed with the same software system, for example, Microsoft Outlook. The appointments created and managed in the two software systems usually have the same data structure such that the synchronization of the appointments in the first client means with the appointments in the second client means may be performed without any problems. Synchronization means that the appointments of one client means are matched to the appointments of the other client means such that in both client means all appointments are on the current status.
If, however, data objects originating from different systems are to be synchronized with each other, additional measures have to be taken in order to carry out data synchronization. For example, if in a first client means appointments are managed by means of a first software system, for example, Microsoft Outlook, and in a second client means, appointments are managed by means of a second software system, for example, Google Calendar, for carrying out a synchronization, an interface or an adapter has to be provided between the two software systems, via which the synchronization may be carried out. Hereby, it has to be ensured that the adapter or the interface is adapted to carry out synchronization in both directions. Because usually the Outlook appointments have another data structure or attributes named differently than, for example, the Google appointments, it is necessary to map the attributes of the Outlook appointments to the attributes of the Google appointments and vice versa. A definition of the respective mapping rules either has to be defined or deposited in the respective software system or in the interface or adapter.
If only data or data objects of a certain class, for example, appointments, are synchronized between exactly two different software systems, the technical effort to realize a synchronization is limited, because for the execution of the synchronization, only an adapter or an interface and two correspondingly adapted mapping rules are provided.
However, this method is disadvantageous, if data or data objects between more than two software systems are to be synchronized. This method also is the detrimental, if more than two data objects are to be synchronized, which respectively are of a different type (for example, a synchronization of three appointment objects, wherein each appointment object has a different data structure). In this case, for each pair of software systems or for each pair of different data objects, an interface or adapter and two associated mapping rules have to be defined such that with respect to three different data objects, already three interfaces and six mapping rules have to be defined.
FIG. 1 illustrates the method for four different data objects DO1 to DO4 known from prior art. The data objects DO1 to DO4 may respectively represent appointments, wherein these four data objects respectively have a different data structure. In order to be able to synchronize these four data objects DO1 to DO4 (all four data objects should be synchronized to each other), six interfaces or adapters and twelve mapping rules in total have to be defined. If an additional data object DO5 is added, which in turn has a different data structure, for this data object DO5, if it is to be synchronized with the data objects DO1 to DO4, four additional interfaces or adapters and eight additional mapping rules have to be defined.
Accordingly, for data objects to be synchronized, with respect to the method known from prior art thus,
      (                            n                                      2                      )    ⁢          ⁢  or  ⁢          ⁢            n      ·              (                  n          -          1                )              2  adapters or interfaces, and
      (                            n                                      2                      )    ·  2or n·(n−1) mapping rules have to be implemented.